package com.sangcomz.fishbun.datasource;

import com.sangcomz.fishbun.MimeType;
import com.sangcomz.fishbun.ui.album.model.Album;
import com.sangcomz.fishbun.ui.album.model.AlbumMetaData;
import com.sangcomz.fishbun.util.future.CallableFutureTask;
import ohos.utils.net.Uri;

import java.util.List;

public interface ImageDataSource {
    CallableFutureTask<List<Album>> getAlbumList(
            String allViewTitle,
            List<MimeType> exceptMimeTypeList,
            List<String> specifyFolderList
    );

    CallableFutureTask<List<Uri>> getAllBucketImageUri(
            Long bucketId,
            List<MimeType> exceptMimeTypeList,
            List<String> specifyFolderList
    );

    CallableFutureTask<AlbumMetaData> getAlbumMetaData(
            Long bucketId,
            List<MimeType> exceptMimeTypeList,
            List<String> specifyFolderList
    );

    CallableFutureTask<String> getDirectoryPath(Long bucketId);

    void addAddedPath(Uri addedImage);

    void addAllAddedPath(List<Uri> addedImageList);

    List<Uri> getAddedPathList();
}